import globalSite from "@/config/globalSite";
import roleDict from "@/dict/role";
import store from "@/store";

// 是否已登录
export function isLogin() {
  let loginStatus;
  // let isLogin = JSON.parse(localStorage.getItem("isLogin")); // 是否已登录，已登录则判断original是否存在，存在则进行静默登录
  // let original = JSON.parse(sessionStorage.getItem("original"));
  let disableLogin = sessionStorage.getItem("disableLogin"); // 是否有禁止登录标识
  if (disableLogin) {
    // 已有标签页登录，但当前标签页不是原始标签页，则不作登录
    // 有禁止登录标识，直接返回false
    loginStatus = false;
  } else {
    // 没有标签页登录的标识 或 已有标签页登录标识，且当前标签页为原始标签页，则允许进行静默登录
    let phone = localStorage.getItem(globalSite.loginPhone);
    if (phone) {
      let accessToken = localStorage.getItem(globalSite.accessToken + phone);
      let authToken = localStorage.getItem(globalSite.authToken + phone);
      loginStatus = accessToken && authToken;
    } else {
      loginStatus = false;
    }
  }
  return loginStatus;
}

// 获取设备码
export function getAuthToken() {
  let loginPhone = localStorage.getItem(globalSite.loginPhone);
  return JSON.parse(localStorage.getItem(globalSite.authToken + loginPhone));
}

// 存储设备码
export function setAuthToken(name, data) {
  return localStorage.setItem(name, JSON.stringify(data));
}

// 获取用户身份码
export function getAccessToken() {
  let loginPhone = localStorage.getItem(globalSite.loginPhone);
  return JSON.parse(localStorage.getItem(globalSite.accessToken + loginPhone));
}

// 存储用户身份码
export function setAccessToken(name, data) {
  return localStorage.setItem(name, JSON.stringify(data));
}

// 获取用户身份信息
export function getUserInfo() {
  return JSON.parse(localStorage.getItem(globalSite.userInfo));
}

// 存储用户身份信息
export function setUserInfo(name, data) {
  return localStorage.setItem(name, JSON.stringify(data));
}

// 获取企业信息
export function getCompanyInfo() {
  return JSON.parse(localStorage.getItem(globalSite.companyInfo));
}

// 存储企业信息
export function setCompanyInfo(name, data) {
  return localStorage.setItem(name, JSON.stringify(data));
}

// 是否超级管理员
export function isSuperAdmin(id) {
  let roleId = id ? id : store.state.user.userData.roleId;
  let arr = [
    roleDict.buyersuper.value,
    roleDict.sellersuper.value,
    roleDict.super.value,
    roleDict.unactivatesuper.value
  ];
  return arr.indexOf(roleId) !== -1;
}
